home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / games / nhak_src.zip / DEF_OS2.H < prev    next >
Text File  |  1993-03-16  |  3KB  |  110 lines

  1. /*    SCCS Id: @(#)def_os2.h    3.0    89/08/13
  2.  
  3. /*  OS/2 defines based on MSC 5.1 OS/2 include files.
  4.     Only a small portion of all OS/2 defines are needed,
  5.     so the actual include files are not used.
  6.  
  7.     Timo Hakulinen
  8.  */
  9.  
  10. #define APIENTRY pascal far
  11.  
  12. #define CHAR    char        /* ch  */
  13. #define SHORT    int        /* s   */
  14. #define LONG    long        /* l   */
  15. #define INT    int        /* i   */
  16.  
  17. typedef unsigned char UCHAR;    /* uch */
  18. typedef unsigned int  USHORT;    /* us  */
  19. typedef unsigned long ULONG;    /* ul  */
  20. typedef unsigned int  UINT;    /* ui  */
  21.  
  22. typedef unsigned char BYTE;    /* b   */
  23. typedef BYTE   far *PBYTE;
  24.  
  25. typedef unsigned short    SHANDLE;
  26. typedef SHANDLE     HKBD;
  27. typedef SHANDLE     HVIO;
  28. typedef SHANDLE     HDIR;    /* hdir */
  29. typedef HDIR far *PHDIR;
  30.  
  31. typedef USHORT far *PUSHORT;
  32. typedef char far *PSZ;
  33.  
  34. typedef struct {
  35.     UCHAR  chChar;
  36.     UCHAR  chScan;
  37.     UCHAR  fbStatus;
  38.     UCHAR  bNlsShift;
  39.     USHORT fsState;
  40.     ULONG  time;
  41. } KBDKEYINFO;
  42. typedef KBDKEYINFO far *PKBDKEYINFO;
  43.  
  44. /* File time and date types */
  45.  
  46. typedef struct _FTIME {     /* ftime */
  47.     unsigned twosecs : 5;
  48.     unsigned minutes : 6;
  49.     unsigned hours   : 5;
  50. } FTIME;
  51. typedef FTIME far *PFTIME;
  52.  
  53. typedef struct _FDATE {     /* fdate */
  54.     unsigned day     : 5;
  55.     unsigned month   : 4;
  56.     unsigned year    : 7;
  57. } FDATE;
  58. typedef FDATE far *PFDATE;
  59.  
  60. typedef struct _FILEFINDBUF {    /* findbuf */
  61.     FDATE  fdateCreation;
  62.     FTIME  ftimeCreation;
  63.     FDATE  fdateLastAccess;
  64.     FTIME  ftimeLastAccess;
  65.     FDATE  fdateLastWrite;
  66.     FTIME  ftimeLastWrite;
  67.     ULONG  cbFile;
  68.     ULONG  cbFileAlloc;
  69.     USHORT attrFile;
  70.     UCHAR  cchName;
  71.     CHAR   achName[13];
  72. } FILEFINDBUF;
  73. typedef FILEFINDBUF far *PFILEFINDBUF;
  74.  
  75. /* KBDINFO structure, for KbdSet/GetStatus */
  76. typedef struct _KBDINFO {    /* kbst */
  77.     USHORT cb;
  78.     USHORT fsMask;
  79.     USHORT chTurnAround;
  80.     USHORT fsInterim;
  81.     USHORT fsState;
  82. } KBDINFO;
  83. typedef KBDINFO far *PKBDINFO;
  84.  
  85. /* VIOMODEINFO structure, for VioGetMode */
  86. typedef struct _VIOMODEINFO {
  87.     USHORT cb;
  88.     UCHAR  fbType;
  89.     UCHAR  color;
  90.     USHORT col;
  91.     USHORT row;
  92.     USHORT hres;
  93.     USHORT vres;
  94.     UCHAR  fmt_ID;
  95.     UCHAR  attrib;
  96. } VIOMODEINFO;
  97. typedef VIOMODEINFO far *PVIOMODEINFO;
  98.  
  99. /* OS2 API functions */
  100.  
  101. USHORT APIENTRY KbdGetStatus(PKBDINFO, HKBD);
  102. USHORT APIENTRY KbdSetStatus(PKBDINFO, HKBD);
  103. USHORT APIENTRY KbdCharIn(PKBDKEYINFO, USHORT, HKBD );
  104. USHORT APIENTRY DosQFSInfo(USHORT, USHORT, PBYTE, USHORT);
  105. USHORT APIENTRY DosFindFirst(PSZ, PHDIR, USHORT, PFILEFINDBUF, USHORT, PUSHORT, ULONG);
  106. USHORT APIENTRY DosFindNext(HDIR, PFILEFINDBUF, USHORT, PUSHORT);
  107. USHORT APIENTRY DosSelectDisk(USHORT);
  108. USHORT APIENTRY VioGetMode(PVIOMODEINFO, HVIO);
  109. USHORT APIENTRY VioSetCurPos(USHORT, USHORT, HVIO);
  110.